A CAPTCHA or Captcha is a type of challenge-response test used in computing to ensure that the response is not generated by a computer. The CAPTCHA process usually involves one computer (a server) asking a user to complete a simple test which the computer is able to generate and grade. Because other computers are unable to solve the CAPTCHA, any user entering a correct solution is presumed to be human. Thus, it is sometimes described as a reverse Turing test, because it is administered by a machine and targeted to a human, in contrast to the standard Turing test that is typically administered by a human and targeted to a machine. A common type of CAPTCHA requires that the user type letters or digits from a distorted image that appears on the screen. Example CAPTCHAs are shown in FIGS. 1A, 1B, and 1C.
The term “CAPTCHA” (based upon the word capture) was coined in 2000 by Luis von Ahn, Manuel Blum, Nicholas J. Hopper, and John Langford (all of Carnegie Mellon University). CAPTCHA is a contrived acronym for “Completely Automated Public Turing test to tell Computers and Humans Apart.”
CAPTCHAs are used to prevent automated software from performing actions which degrade the quality of service of a given system, whether due to abuse or resource expenditure. CAPTCHAs can be deployed to protect systems vulnerable to e-mail spam, such as the webmail services of Gmail, Hotmail, and Yahoo! Mail. CAPTCHAs are also used to stop automated posting to blogs, forums and wikis, whether as a result of commercial promotion, or harassment and vandalism.